English Computing Dictionary
◊ WEAK TYPING
weak typing
Strict enforcement of {type} rules but with
well-defined exceptions or an explicit type-violation
mechanism.
Weak typing is "friendlier" to the programmer than {strong
typing}, but catches fewer errors at compile time.
{C} and {C::} are weakly typed, as they automatically {coerce}
many types e.g. {ints} and {floats}. E.g.
int a ◦ 5;
float b ◦ a;
They also allow ignore {typedefs} for the purposes of type
comparison; for example the following is allowed, which would
probably be disallowed in a strongly typed language:
typedef int Date; /▫ Type to represent a date ▫/
Date a ◦ 12345;
int b ◦ a; /▫ What does the coder intend? ▫/
C:: is stricter than C in its handling of enumerated types:
enum animal {CAT◦0,DOG◦2,ANT◦3};
enum animal a ◦ CAT; /▫ NB The enum is optional in C:: ▫/
enum animal b ◦ 1; /▫ This is a warning or error in C:: ▫/
(2000-07-04)